Fedora16下使用shell编程实现锐捷免费上网自动化

2012-08-22

  • 1 Fedora16下使用shell编程实现锐捷免费上网自动化
    • 1.1 shell编程命令基础
    • 1.2 具体实现代码

1 Fedora16下使用shell编程实现锐捷免费上网自动化

1.1 shell编程命令基础

  1. echo “you are a idiot ...”
    此命令用于在控制台中输出文本
  2. #!/bin/sh
    此命令必须写在文件的第一行,用于指示系统执行该文件的shell。
  3. gnome-terminal
    此命令用于打开一个新的console;如果你想打开一个console并执行一个命令,那么可以使用以下命令:
    gnome-terminal -e <command>
    这个命令执行后会立即关闭其新建的gnome terminal。你可以测试以下两个命令看看效果:
    gnome-terminal -e echo "you are a genius"
    gnome-terminal -e gnome-terminal
    你会看到第一个命令会使屏幕闪烁一下,而后什么也没发生;而第二个命令会出现另一个gnome terminal。
    如果你想打开一个gnome terminal并执行一个命令之后继续使用该gnome terminal,那么你可以使用以下命令:
    gnome-terminal -x bash -c "echo 'you are a genius'; exec bash"
    这里换成了参数x,并且参数x后面紧跟着命令bash。bash后面双引号里面的内容是bash要执行的命令。
    (这里存在一个疑问,就是怎样使用参数e实现上述功能?)
    注:gnome-terminal以及bash的用法及命令参数可以通过--help查询。
  4. if [ -f /etc/mentohust/8021x.exe]; then echo "/etc/mentohust/ do exist"; else echo "/etc/mentohust/ do not exist"; fi
    上述命令就是shell中的if-else控制流程语句,与C语言中的if-else控制语句差别不大,但是注意两点:-f与其前的大括号[间隔一个空格;结尾一定要加上结尾标志fi
  5. echo <password> | sudo -S <command>
    上述命令实现了执行sudo命令时提前输入密码的功能。其中|是管道命令,即将一个进程的标准输出流与另一个进程的标准输入流连接起来。
  6. ' " `
    +单引号 '
    两个单引号包围起来的字符串就是普通的字符串,它将保留原始的字面意思。
    +双引号 "
    两个双引号包围起来的字符串,部分特殊字符将起到它们的作用。
    +反引号 `
    两个反引号包围起来的字符串,将作为命令来运行, 执行的输出结果作为该反引号的内容,称为命令替换, 它有另一种更好的写法: $(command)。
    (引用自:Bash引号的那点事)

1.2 具体实现代码

  1. 锐捷付费上网代码

     #!/bin/sh
     if [ -f /etc/mentohust/8021x.exe ]; then
         echo "/etc/mentohust/ do exist";
         echo "execute RuiJieCharged application -- mentohust";
         gnome-terminal -x bash -c "echo sjc | sudo -S mv /etc/mentohust/ /etc/mentohust.bak/ && sudo -S mentohust -u2010301563 -pbxsjc0728 -np5p1 -a1 -d3 -w; exec bash";
     else
         echo "/etc/mentohust.bak/ do exist";
         echo "execute RuiJieCharged application -- mentohust";
         gnome-terminal -x bash -c "echo sjc | sudo -S mentohust -u2010301563 -pbxsjc0728 -np5p1 -a1 -d3 -w; exec bash";
     fi
  2. 锐捷免费上网代码

     #!/bin/sh
     if [ -f /etc/mentohust/8021x.exe ]; then
         echo "/etc/mentohust/ do exist";
         echo "execute RuiJieFree applicantion";
         gnome-terminal -x bash -c "echo sjc | sudo -S /home/aerosjc/Downloads/mentonpu/mnfree -u2010301563 -pbxsjc0728 -np5p1 -a1 -d3; exec bash";
         echo "execute SouGou Proxy";
         gnome-terminal -x bash -c "/home/aerosjc/Downloads/mentonpu/proxy.py; exec bash";
         echo "execute Google-Chrome";
         gnome-terminal -x bash -c "google-chrome --proxy-server=localhost:1998; exec bash";
     else
         echo "/etc/mentohust.bak/ do exist";
         echo "execute RuiJieFree applicantion";
         gnome-terminal -x bash -c "echo sjc | sudo -S mv /etc/mentohust.bak/ /etc/mentohust/ && sudo -S /home/aerosjc/Downloads/mentonpu/mnfree -u2010301563 -pbxsjc0728 -np5p1 -a1 -d3; exec bash";
         echo "execute SouGou Proxy";
         gnome-terminal -x bash -c "/home/aerosjc/Downloads/mentonpu/proxy.py; exec bash";
         echo "execute Google-Chrome";
         gnome-terminal -x bash -c "google-chrome --proxy-server=localhost:1998; exec bash";
     fi

另附详细介绍Linux shell脚本基础学习

.
Created on 2012-08-22 with pandoc